/*
Copyright (C) 2009  Raymond Jeon
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/


#ifndef __GL_SMTP_RESPONSE_H__
#define __GL_SMTP_RESPONSE_H__


#define SMTP_RES_QUIT					"221 Goodbye"
#define SMTP_RES_COMMAND_OK				"250 OK"
#define SMTP_RES_VERBOSE_ON				"250 Verbose mode on"
#define SMTP_RES_VERBOSE_OFF			"250 Verbose mode off"
#define SMTP_RES_RESET					"250 Resetting"
#define SMTP_RES_DATAEND				"354 Ok Send data ending with <CRLF>.<CRLF>"
#define SMTP_RES_SERVICE_ERROR			"421 Service not avaliable, closing transmission channel"
#define SMTP_RES_MAILBOX_LOCK			"450 Mailbox unavailable"
#define SMTP_RES_LOCAL_ERROR			"451 Request action aborted [local error in processing]"
#define SMTP_RES_STORAGE_ERROR			"452 Request action not taken [insufficient system storage]"
#define SMTP_RES_SYNTEX_ERROR			"500 Syntex error"
#define SMTP_RES_UNKNOWN_SYNTEX			"500 Syntex error, command unrecognized"
#define SMTP_RES_ARGUMENT_ERROR			"501 Syntex error in parameters or arguments"
#define SMTP_RES_INVALID_ADDRESS		"501 Invalid Email Address"
#define SMTP_RES_BAD_SEQUENCE			"503 Bad sequence of commands"
#define SMTP_RES_NEEDHELO				"503 Bad sequence of commands [Need HELO]"
#define SMTP_RES_NEEDMAILFROM			"503 Bad sequence of commands [Need MAIL FROM]"
#define SMTP_RES_NEEDRCPTTO				"503 Bad sequence of commands [Need RCPT TO]"
#define SMTP_RES_ALREADYDATAREC			"503 Bad sequence of commands [Already received data]"
#define SMTP_RES_HELP_UNKNOWN			"504 HELP topic unknown"
#define SMTP_RES_PARAMETER_ERROR		"504 Command not implemented"
#define SMTP_RES_MAILBOX_UNABLE			"550 Request action not taken [mailbox unavailable]"
#define SMTP_RES_USER_NOT_LOCAL			"551 User not local [please try <forward-path>]"
#define SMTP_RES_EXCEEDED_MAILSIZE		"552 Requested mail action aborted [exceeded storage allocation]"
#define SMTP_RES_MAILBOX_UNKNOWN		"553 Request action not taken [mailbox name not allowed]"
#define SMTP_RES_TRANSMISSION_FAILED	"554 Transmission failed"




#define SMTP_RES_HELP_HELO			"214- HELO <hostname>\r\n\
214-       Introduce yourself.\r\n\
214  End of HELP info"
#define SMTP_RES_HELP_EHLO			"214- EHLO <hostname>\r\n\
214-       Introduce yourself, and request extended SMTP mode.\r\n\
214- Possible replies include:\r\n\
214-       HELP            Supply helpful information      [RFC821]\r\n\
214-       8BITMIME        Use 8-bit data                  [RFC1652]\r\n\
214-       SIZE            Message size declaration        [RFC1870]\r\n\
214-       ETRN            Remote Message Queue Starting   [RFC1985]\r\n\
214  End of HELP info"
#define SMTP_RES_HELP_MAILFROM		"214- MAIL FROM: <sender> [ <parameters> ]\r\n\
214-       Specifies the sender.  Parameters are ESMTP extensions.\r\n\
214-       See \"HELP DSN\" for details.\r\n\
214  End of HELP info"
#define SMTP_RES_HELP_RCPTTO		"214- RCPT TO: <recipient> [ <parameters> ]\r\n\
214-       Specifies the recipient.  Can be used any number of times.\r\n\
214-       Parameters are ESMTP extensions.  See \"HELP DSN\" for details.\r\n\
214  End of HELP info"
#define SMTP_RES_HELP_DATA			"214- DATA\r\n\
214-       Following text is collected as the message.\r\n\
214-       End with a single dot.\r\n\
214  End of HELP info"
#define SMTP_RES_HELP_RSET			"214- RSET\r\n\
214-       Resets the system.\r\n\
214  End of HELP info"
#define SMTP_RES_HELP_NOOP			"214- NOOP\r\n\
214-       Do nothing.\r\n\
214  End of HELP info"
#define SMTP_RES_HELP_QUIT			"214- QUIT\r\n\
214-       Exit sendmail (SMTP).\r\n\
214  End of HELP info"
#define SMTP_RES_HELP_HELP			"214- HELP [ <topic> ]\r\n\
214-       The HELP command gives help info.\r\n\
214  End of HELP info"
#define SMTP_RES_HELP_VRFY			"214- VRFY <recipient>\r\n\
214-       Verify an address.  If you want to see what it aliases\r\n\
214-       to, use EXPN instead.\r\n\
214  End of HELP info"
#define SMTP_RES_HELP_EXPN			"214- EXPN <recipient>\r\n\
214-       Expand an address.  If the address indicates a mailing\r\n\
214-       list, return the contents of that list.\r\n\
214  End of HELP info"
#define SMTP_RES_HELP_VERB			"214- VERB\r\n\
214-       Go into verbose mode.  This sends 0xy responses that are\r\n\
214-       not RFC821 standard (but should be)  They are recognized\r\n\
214-       by humans and other sendmail implementations.\r\n\
214  End of HELP info"
#define SMTP_RES_HELP_ETRN			"214- ETRN [ <hostname> | @<domain> |\r\n\
214-       Run the queue for the specified <hostname>, or\r\n\
214-       all hosts within a given <domain>, or a specially-named\r\n\
214-       <queuename> (implementation-specific).\r\n\
214  End of HELP info"
#define SMTP_RES_HELP_DSN			"214- MAIL FROM: <sender> [ RET={ FULL | HDRS} ] [ ENVID=<envid> ]\r\n\
214- RCPT TO: <recipient> [ NOTIFY={NEVER,SUCCESS,FAILURE,DELAY} ]\r\n\
214-                    [ ORCPT=<recipient> ]\r\n\
214-       SMTP Delivery Status Notifications.\r\n\
214- Descriptions:\r\n\
214-       RET     Return either the full message or only headers.\r\n\
214-       ENVID   Sender's \"envelope identifier\" for tracking.\r\n\
214-       NOTIFY  When to send a DSN. Multiple options are OK, comma-\r\n\
214-               delimited. NEVER must appear by itself.\r\n\
214-       ORCPT   Original recipient.\r\n\
214  End of HELP info"

#define SMTP_RES_HELP_AUTH		"214- AUTH mechanism [initial-response]\r\n\
214-       Start authentication.\r\n\
214  End of HELP info"

#define SMTP_RES_HELP			"214- This is "GLSERVERVERSION"\r\n\
214- Topics:\r\n\
214-       HELO    EHLO    MAIL    RCPT    DATA\r\n\
214-       RSET    NOOP    QUIT    HELP    ETRN\r\n\
214- For more info use \"HELP <topic>\".\r\n\
214- To report bugs in the implementation send email to\r\n\
214-       "APP_EMAIL"\r\n\
214- For local information send email to Postmaster at your site.\r\n\
214  End of HELP info"



#endif	// __GL_SMTP_RESPONSE_H__




